package com.samebuilding.service.impl;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.samebuilding.dao.FansIdolDAO;
import com.samebuilding.dao.FansRequestDAO;
import com.samebuilding.domain.User;
import com.samebuilding.service.FansIdolService;

public class FansIdolServiceImpl implements FansIdolService {
	
	private FansIdolDAO fansIdolDAO;
	private FansRequestDAO fansRequestDAO;
	
	public FansRequestDAO getFansRequestDAO() {
		return fansRequestDAO;
	}

	public void setFansRequestDAO(FansRequestDAO fansRequestDAO) {
		this.fansRequestDAO = fansRequestDAO;
	}

	@Transactional
	public void addFansIdol(int idolNo, int fansNo) {
		
		this.fansRequestDAO.delByUid(fansNo, idolNo);
		fansIdolDAO.addFansIdol(idolNo, fansNo);

	}

	@Transactional
	public void deleteFansIdol(int idolNo, int fansNo) {
		fansIdolDAO.deleteFansIdol(idolNo, fansNo);
	}

	public List<User> findAllFans(int userNo) {
		
		return fansIdolDAO.findAllFans(userNo);
	}

	public List<User> findAllIdol(int userNo) {
		return fansIdolDAO.findAllIdol(userNo);
	}

	public FansIdolDAO getFansIdolDAO() {
		return fansIdolDAO;
	}

	public void setFansIdolDAO(FansIdolDAO fansIdolDAO) {
		this.fansIdolDAO = fansIdolDAO;
	}

	public List findAllFansDWR(int userNo) {
		return fansIdolDAO.findAllFansDWR(userNo);
	}

	public List findAllIdolDWR(int userNo) {
		return fansIdolDAO.findAllIdolDWR(userNo);
	}

	public List<User> findAllFans(int userNo, int start, int limit) {
		
		return this.fansIdolDAO.findAllFans(userNo, start, limit);
	}

	public List<User> findAllIdol(int userNo, int start, int limit) {
		
		return this.fansIdolDAO.findAllIdol(userNo, start, limit);
	}

	public int findCountAllFans(int userNo) {
		
		return this.fansIdolDAO.findCountAllFans(userNo);
	}

	public int findCountAllIdol(int userNo) {
		
		return this.fansIdolDAO.findCountAllIdol(userNo);
	}

}
